package cn.com.surker.production.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 生产水稳层结算信息表
 * </p>
 *
 * @author admin
 * @since 2024-05-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ProductionWaterBill implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 公司
     */
    private String orgName;

    /**
     * 公司全称
     */
    private String orgFull;

    /**
     * 结算时间
     */
    private String today;

    /**
     * 项目ID
     */
    private Integer conId;

    /**
     * 项目名称
     */
    private String conName;

    /**
     * 运输供应商ID
     */
    private Long supplierId;

    /**
     * 运输供应商
     */
    private String supplier;

    /**
     * 类型(0：吨位结算，1：车次结算)
     */
    private Integer billType;

    /**
     * 结算方量
     */
    private Double stere;

    /**
     * 吨位
     */
    private Double weight;

    /**
     * 车次
     */
    private Integer tranNo;

    /**
     * 标号
     */
    private String level;

    /**
     * 运距
     */
    private Double distance;

    /**
     * 结算运距
     */
    private Double billDistance;

    /**
     * 单价
     */
    private Double price;

    /**
     * 总金额
     */
    private Double billMoney;

    /**
     * 是否导出(0:未导出1:已导出)
     */
    private Integer isExport;
    /**
     * 含税单价
     */
    private Double taxPrice;

    /**
     * 含税总价
     */
    private Double taxBillMoney;

    /**
     * ERPID
     */
    private Integer erpid;

    /**
     * 结算开始时间
     */
    private String startTime;

    /**
     * 结算结束时间
     */
    private String endTime;

    /**
     * 生产审核(0:未审核1:已审核)
     */
    private Integer isProduction;

    /**
     * 财务审核(0:未审核1:已审核)
     */
    private Integer isFinance;

    /**
     * 是否结算(0:结算1:不结算)
     */
    private Integer isBill;
    /**
     * 是否高速(0:否,1:是)
     */
    private Integer isSpeed;

    /**
     * 状态(0:启用1：禁用)
     */
    private Integer status;

    /**
     * 审核备注，当审核结果为不通过时，必填
     */
    private String remark;

    /**
     * 创建人
     */
    private String creater;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 更新人
     */
    private String updater;

    /**
     * 更新日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

    public ProductionWaterBill(){}
    public ProductionWaterBill(Long orgId, String orgName, String orgFull, String today, Integer conId, String conName, Long supplierId, String supplier, Integer billType, Double stere, Double weight, Integer tranNo, String level, Double distance, Double billDistance, Double price, Double billMoney, Integer isExport, Integer erpid, String startTime, String endTime, Integer isProduction, Integer isFinance, Integer isBill, Integer isSpeed, Integer status, String remark, String creater, Date createTime) {
        this.orgId = orgId;
        this.orgName = orgName;
        this.orgFull = orgFull;
        this.today = today;
        this.conId = conId;
        this.conName = conName;
        this.supplierId = supplierId;
        this.supplier = supplier;
        this.billType = billType;
        this.stere = stere;
        this.weight = weight;
        this.tranNo = tranNo;
        this.level = level;
        this.distance = distance;
        this.billDistance = billDistance;
        this.price = price;
        this.billMoney = billMoney;
        this.isExport = isExport;
        this.erpid = erpid;
        this.startTime = startTime;
        this.endTime = endTime;
        this.isProduction = isProduction;
        this.isFinance = isFinance;
        this.isBill = isBill;
        this.isSpeed = isSpeed;
        this.status = status;
        this.remark = remark;
        this.creater = creater;
        this.createTime = createTime;
    }
}
